package com.yxx.business.entity;

import java.math.BigDecimal;

import com.yxx.common.annotation.Excel;
import com.yxx.common.core.domain.BaseQueryDtoEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.experimental.Accessors;
import lombok.*;

/**
 * 运营维护阶段QueryDto对象 tb_operation_phase
 *
 * @author yxx
 * @date 2025-08-16
 */
@Schema(description = "运营维护阶段查询条件实体")
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@Builder
@Data
public class TbOperationPhaseQueryDto extends BaseQueryDtoEntity {

    private static final long serialVersionUID = 1L;

    @Schema(description = "表ID")
    private Long operationId;

    @Schema(description = "项目ID")
    private Long projectId;

    @Schema(description = "工程ID")
    private Long engineeringId;

    @Schema(description = "设备信息ID集合（逗号分隔）")
    private String equipmentInfoIds;

    @Schema(description = "材料运输信息ID集合（逗号分隔）")
    private String materialTransportIds;

    @Schema(description = "人员排放ID")
    private Long personnelEmissionId;

    @Schema(description = "平均用电消耗量(kWh/年)")
    private BigDecimal avgElectricity;

    @Schema(description = "工程设计年限（年）")
    private Long designLife;

    @Schema(description = "电网碳排放因子(kgCO2e/kWh)")
    private BigDecimal gridCarbonFactor;

    @Schema(description = "初始年日交通量(辆/日)")
    @Excel(name = "初始年日交通量(辆/日)")
    private BigDecimal initialDailyTraffic;

    @Schema(description = "车辆单位距离碳排放因子(kgCO2e/km·辆)")
    @Excel(name = "车辆单位距离碳排放因子(kgCO2e/km·辆)")
    private BigDecimal vehicleEmissionFactor;

    @Schema(description = "年均交通量(辆/年)")
    @Excel(name = "年均交通量(辆/年)")
    private BigDecimal trafficGrowthRate;

    @Schema(description = "绿地种植方式")
    private String plantingMethod;

    @Schema(description = "种植面积(㎡)")
    private BigDecimal plantingArea;

    @Schema(description = "更新者id")
    private Long createById;

    @Schema(description = "更新者id")
    private Long updateById;

}
